﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
using System.Web.Script.Services;
using EntitiesLayer.Entities;
using BusinnesLayer.LogicBusiness;

namespace ClinicaSanPablo
{
    public partial class MantenimientoUsuario : System.Web.UI.Page
    {
        private static Combosbl ptb = new Combosbl();
        private static System.Web.Script.Serialization.JavaScriptSerializer jsonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string ComboArea()
        {
            List<Combos> getArea = ptb.GetAllComboArea();
            return jsonSerializer.Serialize(getArea);
        }        

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string ComboTipoDocumento()
        {
            List<Combos> getTipodocumento = ptb.GetAllComboTipoDocum();
            return jsonSerializer.Serialize(getTipodocumento);
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string ComboPerfil()
        {
            List<Combos> getPerfil = ptb.GetAllComboPerfil();
            return jsonSerializer.Serialize(getPerfil);
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string RegistrarUsuario(string TipoDocumento, string NroDocumento, string Usuario, string Nombres, string Apellidos, string Email, string Perfil, string Area, string Contrasenia)
        {
            try
            {
                Mantenimientosbl ubl = new Mantenimientosbl();

                Mantenimientos u = new Mantenimientos
                {
                    CodTipoDocumento = TipoDocumento,
                    NumDocUsuario = NroDocumento,
                    UserUsuario = Usuario,
                    NomUsuario = Nombres,
                    ApeUsuario = Apellidos,
                    Email = Email,
                    IdPerfil = Convert.ToInt32(Perfil),
                    CodArea = Area,
                    PassUsuario = Contrasenia
                };
                ubl.InsertUsuario(u);

                var data = new
                {
                    resultado = true
                };
                return jsonSerializer.Serialize(data);
            }
            catch (Exception ex)
            {
                var data = new
                {
                    resultado = false
                };
                return jsonSerializer.Serialize(data);
            }
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string DeleteUsuario(string nroDocumento)
        {
            try
            {
                Mantenimientosbl ubl = new Mantenimientosbl();

                Mantenimientos u = new Mantenimientos
                {
                    NumDocUsuario = nroDocumento
                };
                ubl.DeleteUsuario(u);

                var data = new
                {
                    resultado = true
                };
                return jsonSerializer.Serialize(data);
            }
            catch (Exception ex)
            {
                var data = new
                {
                    resultado = false
                };
                return jsonSerializer.Serialize(data);
            }
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string UpdateUsuario(string tipoDocumento, string nroDocumento, string usuario, string nombres, string apellidos, string email, string perfil, string area, string contrasenia)
        {
            try
            {
                Mantenimientosbl ubl = new Mantenimientosbl();

                Mantenimientos u = new Mantenimientos
                {
                    CodTipoDocumento = tipoDocumento,
                    NumDocUsuario = nroDocumento,
                    UserUsuario = usuario,
                    NomUsuario = nombres,
                    ApeUsuario = apellidos,
                    Email = email,
                    IdPerfil = Convert.ToInt32(perfil),
                    CodArea = area,
                    PassUsuario = contrasenia
                };
                ubl.UpdateUsuario(u);

                var data = new
                {
                    resultado = true
                };
                return jsonSerializer.Serialize(data);
            }
            catch (Exception ex)
            {
                var data = new
                {
                    resultado = false
                };
                return jsonSerializer.Serialize(data);
            }

        }

        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}